package com.yilin.platform.service.truck;


import com.baomidou.mybatisplus.extension.service.IService;
import com.yilin.platform.base_core.application.PageData;
import com.yilin.platform.entity.truck.TransportLicense;
import com.yilin.platform.entity.truck.TravelLicense;
import com.yilin.platform.entity.truck.TruckVehicle;
import com.yilin.platform.entity.user.Account;
import com.yilin.platform.entity.user.Organize;

import java.util.List;

/**
 * 车辆服务
 *
 * @author zhangjinyuan
 * @date 2022/10/24
 */
public interface ITruckVehicleService extends IService<TruckVehicle> {


    List<TruckVehicle> getVehicleListByDriverId(String driverId);

    TruckVehicle getVehicleById(String vehicleId);

    TruckVehicle getVehicleByNo(String trackNo);

    List<TruckVehicle> getVehicleListByOrganizeId(String organizeId, TruckVehicle query);

    List<TruckVehicle> getUnUsedVehicleListByOrganizeId(String organizeId);

    Long getOrganzieByListCount(Organize organize);

    PageData<TruckVehicle> getTruckVehiclePage(Account loginUser, TruckVehicle query, Integer page, Integer limit);

    void saveTruckVehicle(Account loginUser, TruckVehicle truckVehicle, TravelLicense travelLicense, TransportLicense transportLicense);

    void bindTruckUser(Account loginUser, Account truckUser, TruckVehicle truckVehicle, TruckVehicle originalTruckVehicle);

    void editBindVehicle(Organize organize, TruckVehicle truckVehicle);
}
